Code rate generators have been provided in the prior art for signaling and/or communication systems in which the information is to be transmitted is determined by the rate at which a signal (carrier) is turned on and off. One particular application in which such code rate generators have been used for many years is in the railway signaling and/or control field. For example, a vehicle may be controlled, either automatically or manually, in response to information communicated to the vehicle from the wayside. This information typically takes the form of a carrier signal which is turned on and off at a particular code rate. In a more particular example a 50 hertz carrier may be turned on and off at one of a number of code rates, such as 75, 120, 180, or 270 times per minute (usually referred to as pulses per minute or PPM). The information communicated to the vehicle, by the code rate, may then either automatically control the application of motor and braking power to the vehicle or may control indication lights aboard the vehicle for the information of the vehicle operator. Since human lives may depend upon the correct operation of code rate generators and the systems in which they operate, typically they have been required to exhibit so-called fail-safe qualities. One particular aspect of the fail-safe requirement is that any failures tend to result in a condition which is no more dangerous (or conversely at least as safe) as if the equipment had not failed. It is a practice of the railroads to decode the code rate in such a manner that the higher the code rate the more permissive the indication. Thus, for instance, a 270 PPM code rate may be more permissive than a 180 code rate PPM which itself is more permissive than a 120 PPM code rate, and so on. Thus, the design of the code rate generator should be such that any failures tend to result in a lower code rate than the code rate that would have been generated had the failure not occurred.
There are a number of varieties of code rate generators which have been applied in the past, and which those skilled in the art generally believe exhibit fail-safe qualities. Typically, however, these code rate generators have comprised mechanical oscillators. Furthermore, in the typical case a different mechanical oscillator is required for each different code rate which is to be generated
With the advent of mass produced and off-the-shelf solid state digital components there has been a desire to apply this apparatus to providing code rate generators. This desire arises from a number of reasons. In the first place, such a digital code rate generator employing solid state circuitry, would be more compact, lower in cost and simplier to maintain then the heretofore employed mechanical code oscillators. In addition, if the digital code rate generator, which was sought after, could be arranged so that only a single piece of equipment was required to generate a plurality of code rates, obviously a large amount of relatively costly and difficult to maintain equipment could be eliminated.
Another objection to the use of solid state apparatus was that a typical failure mode of a solid state oscillator occurs when the frequency of the oscillator increases. If, in the desired code rate generator, the code rate is proportional to the frequency of the oscillator, and the oscillator fails by an unwanted increase in frequency, then the output of the code rate generator would be an erroneously high code rate. By reason of the particular decoding scheme employed by most railroads this would not result in a fail-safe failure. It is therefore an object of the present invention to provide such a code rate generator in which significant increases in frequency of the oscillator employed in the code rate generator are ineffective to generate erroneously high code rates which will be decoded and acted upon by other components in the system.
It is another object of the present invention to provide such a digital, solid state code rate generator which exhibits fail-safe qualities. It is another object of the present invention to provide a digital, solid state code rate generator which is capable of generating one of a selectable number of code rates. It is a further object of the present invention to provide the aforementioned digital, solid state code rate generator which is relatively inexpensive, simple to maintain and more compact than the mechanical code oscillators which have heretofore been used.